#服务器端
import socket
import threading
# 导入socket、threading库

#用一个变量去接收ip/端口，也可以用socket.gethostname()函数去获取主机ip
ss_adress = ('0.0.0.0',19001)
ss = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ss.bind(ss_adress)
ss.listen(5)
print('服务器已启动')

def client_msg(client,addr):
    print("收到来自客户ip为：{}的连接".format(addr))
    #在连接的时候，进入循环
    while True:
        try:
            #接受客户端消息消息
            data = client.recv(1024)
            print("收到客户ip为：{}的消息：{}".format(addr,data.decode('utf8')))
            if not data:
                break
            #给客户端回馈消息
            re_msg = input('请回复客户：{}'.format(addr))
            client.send(re_msg.encode('utf8'))

        except Exception:
            client.close()
    return True

while True:
    #获取连接
    client,addr = ss.accept()
    threading.Thread(target=client_msg,args=(client,addr)).start()